const install = (Vue, vm) => {
    // 此为自定义配置参数，具体参数见上方说明
    Vue.prototype.$u.http.setConfig({
        baseUrl: 'https://api-hmugo-web.itheima.net/api/public/v1', // 请求的本域名
        loadingText: '加载中...', // 请求loading中的文字提示
        loadingTime: 300, // 在此时间内，请求还没回来的话，就显示加载中动画，单位ms
    });

    	// 请求拦截部分，如配置，每次请求前都会执行
	Vue.prototype.$u.http.interceptor.request = (config) => {
		
		
		// 方式二，如果没有使用uView封装的vuex方法，那么需要使用$store.state获取
		// config.header.token = vm.$store.state.token;
		
		// 可以对某个url进行特别处理，此url参数为this.$u.get(url)中的url值
		if(config.url.includes('/my/')) {
            config.header.Authorization=vm.$store.state.user.token;
        }
		// 最后需要将config进行return
		return config;
		// 如果return一个false值，则会取消本次请求
		// if(config.url == '/user/rest') return false; // 取消某次请求
	}


    // 响应拦截，如配置，每次请求结束都会执行本方法
    Vue.prototype.$u.http.interceptor.response = (res) => {
        // 判断 返回值 正确的 正确再返回 需要的数据 
        // 错误  return false 友好提示
        if (res.meta && res.meta.status === 200) {
            //正常
            return res.message;
        } else {
            // 如果返回false，则会调用Promise的reject回调，
            // 并将进入this.$u.post(url).then().catch(res=>{})的catch回调中，res为服务端的返回值
            console.log("失败啦");
            vm.$u.toast(res.meta.msg);
            return false
            return false;
        }
    }

}



export default {
    install
}